<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // const obj = {
  //   name:"admin",
  //   age:18,
  //   sex:"男",
  // };

  // const arr = ["张三", "李四", "王二",];

  // console.log(obj);
  // console.log(typeof obj);
  // console.log(arr);
  // console.log(typeof arr);

  // console.log("=====");

  // const s1 = JSON.stringify(obj);
  // const s2 = JSON.stringify(arr);

  // console.log(s1);
  // console.log(typeof s1);
  // console.log(s2);
  // console.log(typeof s2);

  // console.log("======");


  // console.log( JSON.parse(s1) );
  // console.log( JSON.parse(s2) );



  // 1. 必须先遵守js中对象或数组的基本语法
  // 2. 整个JSON必须是字符数据（必须使用单引号或反引号包裹）
  // 3. 如果JSON使用的是js的对象语法，键名必须使用双引号包裹
  // 4. 不允许出现没有意义的逗号
  // 5. 不允许出现函数，undefined，NaN

  // const json = "hello";   // 1
  // const json = "{'name':'admin'}"     // 2
  // const json = '{name:"admin"}'     // 3
  // const json = '{"name":"admin",}'    // 4
  // const json = '{"name":"admin","show":function(){}}';    // 5
  // const json = '{"name":"admin","child":["张三", function(){}]}';      // 5

  // console.log( JSON.parse(json) );
  
  // =======
  
  // const json = '{"child":["张三","function(){}"]}';
  // const json = '{"name":"admin","child":["张三"]}'

  // const json = '{"name":"admin", "show":"function(){}", "abc":"undefined", "num":"NaN", "isGood":true, "Child":["张三",true,123]}';
  // console.log( JSON.parse(json) );


  // ========

  // const obj = {
  //   name:"admin",
  //   show:function(){},
  //   abc:undefined,
  //   qwe:NaN,
  // }
  // console.log(JSON.stringify(obj));

  
</script>
</html>